package com.yuandengta.yomall.product.feign;

import com.yuandengta.common.to.SkuReductionTO;
import com.yuandengta.common.to.SpuBoundTO;
import com.yuandengta.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * Coupon 优惠服务远程接口 {@link CouponFeignService}
 *
 * @author Kevin
 * @email: 178676392@qq.com
 */
@FeignClient("yomall-coupon")
public interface CouponFeignService {

    /**
     * CouponService.saveSpuBounds(SpuBoundTO spuBoundTO)
     *  1.@RequestBody将这个对象转为json
     *  2.在注册中心找到yomall-coupon服务，然后发送 /coupon/spubounds/save 请求
     *      将转换的json放在请求体发送
     *  3.yomall-coupon服务接收到请求，请求体里有json数据
     *      将请求体里json数据转为 SpuBoundTO
     * 总结：
     *  只要json数据模型是兼容的，双方服务不一定需要使用同一个 TO 对象
     *
     * 保存积分
     * @param spuBoundTO
     * @return
     */
    @PostMapping("/coupon/spubounds/save")
    R saveSpuBounds(@RequestBody SpuBoundTO spuBoundTO);

    /**
     * 保存满减优惠及会员折扣
     * @param skuReductionTO
     * @return
     */
    @PostMapping("coupon/skufullreduction/savareduction")
    R savaReduction(@RequestBody SkuReductionTO skuReductionTO);
}
